package com.beep.erp;

import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.view.WindowManager;

import com.afollestad.materialdialogs.MaterialDialog;
import com.beep.erp.common.rx.permission.RxPermissions;
import com.beep.erp.common.utils.AppManager;
import com.beep.erp.common.utils.SPUtils;


/**
 * ----------Dragon be here!----------/
 * ***┏┓****┏┓*********
 * *┏┛┻━━┛┻━━━━┓*******
 * *┃                    ┃*******
 * *┃       ━━━       ┃*******
 * *┃                    ┃*******
 * *┃  ━┳┛   ┗┳━   ┃*******
 * *┃                    ┃*******
 * *┃       ━┻━       ┃*******
 * *┃                    ┃*******
 * *┗━━┓        ┏━━┛*******
 * *******┃        ┃ 神兽保佑*****
 * *******┃        ┃ 代码无BUG！***
 * *******┃        ┗━━━━━━━━━┓*****
 * *******┃                            ┣┓****
 * *******┃                            ┏┛****
 * *******┗━┓┓┏━━━━┳┓┏━━━┛*****
 * ***********┃┫┫********┃┫┫********
 * ***********┗┻┛********┗┻┛*********
 * ******金 三 胖你也去吧！！
 * ...........／￣￣￣Y￣￣ ＼
 * 　 　 l　　　　　　　　　l
 * 　　 ヽ,,,,,／ ￣￣￣￣ ヽﾉ
 * 　　　|::::: 　　　　　　　l
 * 　　　|:::　　 ＿_　　　　 |
 * 　　（6　　　＼●>　 <●人
 * 　　　!　　　　　 )・・(　 l
 * 　　　ヽ 　 　　　　(三)　 ﾉ
 * 　　　 ／＼　　　　二　 ノ
 * ...
 * ━━━━━━神兽出没━━━━━━
 */

/**
 * FileName: AppContext
 * description:
 * Date: 2016/8/10
 */
public class AppContext extends Application {

    private static AppContext instance;
    public static Context _context;
    public static String IP;
    boolean login = false;
    public String userId;
    public String token;

    public static AppContext getInstance() {

        if (instance == null) {
            synchronized (AppContext.class) {
                if (instance == null) {
                    instance = new AppContext();
                }
            }
        }
        return instance;
    }

    public void backgroundAlpha(float bgAlpha) {
        WindowManager.LayoutParams lp = getActivity().getWindow().getAttributes();
        lp.alpha = bgAlpha; //0.0-1.0
        getActivity().getWindow().setAttributes(lp);
    }

    public static synchronized AppContext context() {
        return (AppContext) _context;
    }

    public Activity getActivity() {
        return AppManager.getAppManager().currentActivity();
    }

    @Override
    public void onCreate() {
        super.onCreate();
        _context = getApplicationContext();
        instance = this;
    }
    public boolean isLogin() {
        SPUtils spUtils = new SPUtils(_context, Constants.EXTRA_LOGIN_SP);
        return spUtils.getBoolean(Constants.EXTRA_ISLOGIN);
    }

}
